package com.gao.weblog.admin.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.gao.weblog.admin.model.vo.article.ArticleDetailVO;
import com.gao.weblog.admin.model.vo.article.PublishArticleDTO;
import com.gao.weblog.admin.model.vo.article.ArticleVO;
import com.gao.weblog.common.domain.dos.ArticleDO;
import com.gao.weblog.common.model.dto.ArticleQueryDTO;

import java.util.List;

public interface AdminArticleService extends IService<ArticleDO> {
    /**
     * 分页查询
     * @param articleQueryDTO
     * @return
     */
    List<ArticleDO> findArticlePageList(ArticleQueryDTO articleQueryDTO);

    /**
     * 根据 文章 id 查询文章详情
     * @param articleId
     * @return
     */
    ArticleDetailVO findArticleDetail(Long articleId);

    /**
     * 发布文章
     * @param publishArticleDTO
     * @return
     */
    void publishArticle(PublishArticleDTO publishArticleDTO);

    /**
     * 根据 文章 id 删除文章
     * @param articleId
     * @return
     */
    Boolean deleteArticle(Long articleId);

    /**
     * 更新文章
     * @param articleVO
     * @return
     */
    ArticleVO updateArticle(ArticleVO articleVO);
}
